package dados;

import negocios.Cliente;
import negocios.Contato;
import negocios.Endereco;
import negocios.excecoes.GestockException;

public class RepositorioCliente implements IRepositorioCliente {

	private static RepositorioCliente instancia = null;

	public static RepositorioCliente getInstancia() {

		if (instancia == null) {
			instancia = new RepositorioCliente();
		}

		return instancia;

	}

	public void cadastrarCliente(Cliente cliente, Contato contato,
			Endereco endereco) throws GestockException {

		try {
			ConexaoBDCliente conecta = new ConexaoBDCliente();
			conecta.cadastrarCliente(cliente, contato, endereco);
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

	public Cliente consultarCliente(String idCliente) throws GestockException {
		Cliente cliente = null;
		try {
			ConexaoBDCliente conecta = new ConexaoBDCliente();
			cliente = conecta.consultarCliente(idCliente);
		}

		catch (Exception e) {
			e.printStackTrace();
		}

		return cliente;
	}

	public Object[][] listarClientes(String nome) throws GestockException {
		Object[][] clientes = null;
		try {
			ConexaoBDCliente conecta = new ConexaoBDCliente();
			clientes = conecta.listarClientes(nome);
		}

		catch (Exception e) {
			e.printStackTrace();
		}

		return clientes;
	}

	public void alterarCliente(Cliente cliente) throws GestockException {
		try {
			ConexaoBDCliente conecta = new ConexaoBDCliente();
			conecta.alterarCliente(cliente);
		}

		catch (Exception e) {
			e.printStackTrace();
		}

	}

}
